Rules To Follow While Implementing Generic Interfaces